package com.andy.blog.admin.service;

import com.andy.blog.admin.dto.SysConfigDTO;
import com.andy.blog.common.page.PageUtilsDTO;
import com.andy.blog.dal.vo.SysConfigVO;

import java.util.List;

/**
 * Created by andy on 2023/4/7 11:10
 */
public interface ConfigBusService {

    /**
     * 分页查询
     */
    PageUtilsDTO<SysConfigDTO> selectListByPage(SysConfigVO sysConfigVO);

    /**
     * 根据条件查询
     */
    List<SysConfigDTO> selectListByCondition(SysConfigVO sysConfigVO);

    /**
     * 根据id查询
     */
    SysConfigDTO selectById(Long id);

    /**
     * 根据键名查询参数配置信息
     */
    String selectConfigByKey(String configKey);

    /**
     * 新增参数配置
     *
     * @param sysConfigVO 参数配置信息
     */
    void insertConfig(SysConfigVO sysConfigVO);

    /**
     * 刷新参数缓存
     */
    void resetConfigCache();

    /**
     * 批量删除
     */
    void deleteById(Long configId);

    /**
     * 更新
     */
    void updateConfig(SysConfigVO configVO);

    /**
     * 获取验证码开关
     *
     * @return true开启，false关闭
     */
    boolean selectCaptchaEnabled();
}
